/**
 * <h3>TransApiController</h3>
 * <p>百度翻译API控制器类</p>
 *
 * <h3>功能描述</h3>
 * <p>提供百度翻译API的调用接口，统一返回AjaxResult格式结果</p>
 * <p>支持多语言之间的文本翻译功能，基于百度翻译开放平台实现</p>
 * <p>所有接口均基于RESTful风格设计，配合SpringMVC注解实现标准化API输出</p>
 *
 * <h3>元数据</h3>
 * <ul>
 *    <li>作者：系统生成</li>
 *    <li>创建日期：2025年01月</li>
 * </ul>
 *
 * <h3>其他信息</h3>
 * <ul>
 *    <li>参考链接：<a href="https://fanyi-api.baidu.com/">百度翻译开放平台</a></li>
 *    <li>示例代码：{@code new TransApiController()} </li>
 * </ul>
 *
 * @apiNote 接口用于多语言翻译功能，支持中英文等多种语言互译
 * @implSpec 使用百度翻译API，集成TransApi工具类实现翻译功能
 * @since 1.0.0
 */

package com.dnndo.web.controller.system;

import com.alibaba.fastjson.JSONObject;
import com.dnndo.common.core.domain.AjaxResult;
import com.dnndo.system.transApi.TransApi;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/baidu")
public class TransApiController {

    private final TransApi transApi;

    public TransApiController() {
        // 使用实际的 APP_ID 和 SECURITY_KEY
        this.transApi = new TransApi("20250407002326546", "TS0HhDDTD1p_wR0Om96W");
    }

    /**
     * 文本翻译接口
     * @param query 待翻译的文本内容
     * @param from 源语言代码（如：zh、en、ja等）
     * @param to 目标语言代码（如：zh、en、ja等）
     * @return AjaxResult 包含翻译结果的响应对象
     * @see com.alibaba.fastjson.JSONObject
     */
    @GetMapping("/transApi")
    public AjaxResult translate(@RequestParam String query, @RequestParam String from, @RequestParam String to) {
        JSONObject result = transApi.getTransResult(query, from, to);
        return AjaxResult.success(result);
    }
}